def display(triangle):
    # 首先计算最后一行的宽度
    # 最后一行的数字转换为字符串之后的总长度，包括每个数字之间一个空格的间隔
    width = len(" ".join(str(num) for num in triangle[-1]))
    
    # 然后打印每一行，使其居中对齐到最宽行的宽度
    for row in triangle:
        print(" ".join(str(num) for num in row).center(width))

# 示例：创建一个函数来生成杨辉三角形
def generate(n):
    triangle = [[1]]
    for i in range(1, n):
        row = [1]
        for j in range(1, i):
            row.append(triangle[i-1][j-1] + triangle[i-1][j])
        row.append(1)
        triangle.append(row)
    return triangle

# 打印不同行数的杨辉三角形
print('杨辉三角')
display(generate(1))
display(generate(5))
display(generate(6))
